Type: concept
Confidence: 0.90
Created: 2026-04-16
Updated: 2026-04-16
Tags: cppSTLvector容器动态数组C++编程

C++ STL vector

概述

std::vector 是 C++ 标准库中最常用的动态数组容器,支持自动扩容、随机访问(O(1))和尾部高效插入/删除,替代原始固定数组的首选。

关键内容

  1. 基本用法cpp #include <vector> vector<int> nums = {1, 2, 3}; nums.push_back(4); // 尾部追加 cout << nums[0]; // 随机访问,O(1) cout << nums.size(); // 元素数量

  2. 常用操作

  3. push_back(x) — 尾部追加元素(均摊 O(1))
  4. pop_back() — 删除尾部元素
  5. size() — 元素个数
  6. empty() — 判断是否为空
  7. clear() — 清空所有元素
  8. front() / back() — 首/尾元素引用

  9. 范围 for 遍历(C++11): cpp for (int x : nums) { cout << x << " "; }

  10. 与原始数组对比

  11. vector:动态大小,自动内存管理,支持拷贝/赋值,有边界检查(.at(i))。
  12. 原始数组:固定大小,手动管理,不可直接拷贝。

  13. STL 容器全家桶(初学路径):vector(动态数组)→ string(字符串)→ map(键值映射)→ set(不重复集合)→ queue/stack(队列/栈)。

  14. 内部机制:capacity(已分配空间)与 size(实际元素数)分离;扩容时通常翻倍,避免频繁重分配。

来源

相关